// components/top_navigation/top_navigation.js
/**
 * 顶部标题组件
 * @author hejiacheng
 * @date 2022-1-13
 */
var app = getApp()
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 类型  1.none 没有   2.back  返回上一页    3.home 回到首页
    type: {
      type: String,
      value: 'none'
    },
    title: {
      type: String,
      value: "体重日志"
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    // 导航栏高度
    topNavigationHeight: app.globalData.topNavigationHeight,
    // 统一背景颜色
    unifyBgColor: app.globalData.unifyBgColor,
    // 主色调
    mainColor: app.globalData.mainColor,
    // 顶部状态栏高度(电量，wifi 那一栏)
    statusBarHeight: 0,
    // 胶囊的和状态栏的距离
    oneMenuButtonPadding: 0,
    // 返回键的top高度
    backTop: 0
  },
  lifetimes: {
    attached: function () {
      // 状态栏高度（电量， wifi，那一栏）
      let statusBarHeightPx = null
      wx.getSystemInfo({
        success(res) {
          console.log("状态栏：" + res.statusBarHeight)
          statusBarHeightPx = res.statusBarHeight
        }
      })
      let menuButton = wx.getMenuButtonBoundingClientRect()
      // 胶囊(右上角三点图标)的上边距
      let oneMenuButtonPaddingPx = menuButton.top - statusBarHeightPx
      // 胶囊高度
      let menuButtonHeightPx = menuButton.height
      // 顶部栏高度
      let topNavigationHeightPx = statusBarHeightPx + menuButtonHeightPx + 2 * oneMenuButtonPaddingPx
      // 转化rpx
      // 状态栏高度
      let statusBarHeight = statusBarHeightPx / wx.getSystemInfoSync().windowWidth * 750
      // 胶囊(右上角三点图标)的上边距
      let oneMenuButtonPadding = oneMenuButtonPaddingPx / wx.getSystemInfoSync().windowWidth * 750
      // 胶囊高度
      let menuButtonHeight = menuButtonHeightPx / wx.getSystemInfoSync().windowWidth * 750
      // 顶部栏高度
      let topNavigationHeight = topNavigationHeightPx / wx.getSystemInfoSync().windowWidth * 750
      // 返回键的top高度   40是返回图片的高度
      let backTop = statusBarHeight + oneMenuButtonPadding + menuButtonHeight / 2 - 40 / 2
      // backTop = 0
      this.setData({
        topNavigationHeight: topNavigationHeight,
        statusBarHeight: statusBarHeight,
        oneMenuButtonPadding: oneMenuButtonPadding,
        backTop: backTop
      })
      console.log('topNavigationHeight : ', topNavigationHeight)
      console.log('menuButtonHeight : ', menuButtonHeight)
      app.globalData.topNavigationHeight = topNavigationHeight
      console.log('menuButton : ', menuButton)
    },
    detached: function () {
      // 在组件实例被从页面节点树移除时执行
    },
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 返回上一页
    goBack() {
      wx.navigateBack({
        delta: 1,
      })
    },
    // 返回首页
    goHome() {
      wx.redirectTo({
        url: '/pages/index/index',
      })
    },
    // 拦截方法
    catchTap() {
      console.log('catchTap.......')
    }
  }
})